package com.yixia.pea.service;

import com.yixia.pea.domain.credit.PeaHzBase;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yixia.pea.domain.dto.PeaHzBaseDto;

import java.util.List;

/**
* @author 35038
* @description 针对表【pea_hz_base】的数据库操作Service
* @createDate 2023-09-01 08:07:04
*/
public interface PeaHzBaseService extends IService<PeaHzBase> {

    /**
     * 验证该户主是否已经存在
     * @param hzBase 户主信息
     * @return 结果
     */
    public boolean checkIdCardNumUnique(PeaHzBase hzBase);


    /**
     * 验证该户主是否已经存在
     * @param hzBase 户主信息
     * @return 结果
     */
    public boolean checkPhoneNumberNumUnique(PeaHzBase hzBase);


    /**
     * 新增农户信息
     * @param peaHzBaseDto 农户信息
     * @return 结果
     */
    public boolean insertPeaHzBase(PeaHzBaseDto peaHzBaseDto);

    /**
     * 检查该农户是否存在
     * @param hzId 农户ID
     */
    public void checkPeaDataScope(Long hzId);

    /**
     * 分页查询
     * @param peaHzBaseDto 查询条件
     * @return 查询给结果
     */
    public List<PeaHzBaseDto> selectListPage(PeaHzBaseDto peaHzBaseDto);

    /**
     * 修改农户信息 修改的是农户信息和家庭成员信息，通过农户id进行修改
     * @param peaHzBaseDto 农户信息
     * @return 结果
     */
    public int editPeaHzBase(PeaHzBaseDto peaHzBaseDto);


    /**
     * 根据hzId进行查询查询
     * @param hzId 户主ID
     * @return 返回结果
     */
    public PeaHzBaseDto selectPeaBaseById(Long hzId);


    /**
     * 进行评分
     * @param hzId 农户ID
     */
    public int startScoring(Long hzId);


    // 修改评分状态
    public int updateRatingStatus(Long hzId);

    // 将评分状态改成未评分
    public int resfreshRatingStatus(Long[] hzIds);

    // 对这些户主进行定向信用评分
    void creidtScoring(Long[] hzIds);
}
